<!DOCTYPE html>
<html>
<head>
    <title>BootstrapValidator demo</title>

    <link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
    <link rel="stylesheet" href="../dist/css/bootstrapValidator.css"/>

    <script type="text/javascript" src="../vendor/jquery/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="../vendor/bootstrap/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="../dist/js/bootstrapValidator.js"></script>
</head>
<body>
    <div class="container">
        <div class="row">
            <!-- form: -->
            <section>
                <div class="col-lg-8 col-lg-offset-2">
                    <div class="page-header">
                        <h2>Checkout</h2>
                    </div>

                    <form id="checkoutForm" method="post" class="form-horizontal" action="target.php">
                        <div class="form-group">
                            <label class="col-lg-3 control-label">Shipping address</label>
                            <div class="col-lg-5">
                                <div class="radio">
                                    <label>
                                        <input type="radio" name="shipping_to" value="current" checked /> Same as my account address
                                    </label>
                                </div>
                                <div class="radio">
                                    <label>
                                        <input type="radio" name="shipping_to" value="new" /> New address
                                    </label>
                                </div>
                            </div>
                        </div>

                        <div id="newAddress">
                            <div class="form-group">
                                <label class="col-lg-3 control-label">Country</label>
                                <div class="col-lg-5">
                                    <select name="country" class="form-control" disabled>
                                        <option value="">Select a country</option>
                                        <option value="AU">Australia</option>
                                        <option value="CA">Canada</option>
                                        <option value="FR">France</option>
                                        <option value="DE">Germany</option>
                                        <option value="IT">Italy</option>
                                        <option value="JP">Japan</option>
                                        <option value="GB">United Kingdom</option>
                                        <option value="US">United States</option>
                                        <option value="VN">Viet Nam</option>
                                    </select>
                                </div>
                            </div>

                            <div class="form-group">
                                <label class="col-lg-3 control-label">Street</label>
                                <div class="col-lg-5">
                                    <input type="text" class="form-control" name="street" disabled />
                                </div>
                            </div>

                            <div class="form-group">
                                <label class="col-lg-3 control-label">City</label>
                                <div class="col-lg-5">
                                    <input type="text" class="form-control" name="city" disabled />
                                </div>
                            </div>

                            <div class="form-group">
                                <label class="col-lg-3 control-label">State</label>
                                <div class="col-lg-5">
                                    <select name="state" class="form-control" disabled>
                                        <option value="">Select a state</option>
                                        <option value="AL">Alabama</option>
                                        <option value="AK">Alaska</option>
                                        <option value="AZ">Arizona</option>
                                        <option value="AR">Arkansas</option>
                                        <option value="CA">California</option>
                                        <option value="CO">Colorado</option>
                                        <option value="CT">Connecticut</option>
                                        <option value="DE">Delaware</option>
                                        <option value="DC">District of Columbia</option>
                                        <option value="FL">Florida</option>
                                        <option value="GA">Georgia</option>
                                        <option value="HI">Hawaii</option>
                                        <option value="ID">Idaho</option>
                                        <option value="IL">Illinois</option>
                                        <option value="IN">Indiana</option>
                                        <option value="IA">Iowa</option>
                                        <option value="KS">Kansas</option>
                                        <option value="KY">Kentucky</option>
                                        <option value="LA">Louisiana</option>
                                        <option value="ME">Maine</option>
                                        <option value="MD">Maryland</option>
                                        <option value="MA">Massachusetts</option>
                                        <option value="MI">Michigan</option>
                                        <option value="MN">Minnesota</option>
                                        <option value="MS">Mississippi</option>
                                        <option value="MO">Missouri</option>
                                        <option value="MT">Montana</option>
                                        <option value="NE">Nebraska</option>
                                        <option value="NV">Nevada</option>
                                        <option value="NH">New Hampshire</option>
                                        <option value="NJ">New Jersey</option>
                                        <option value="NM">New Mexico</option>
                                        <option value="NY">New York</option>
                                        <option value="NC">North Carolina</option>
                                        <option value="ND">North Dakota</option>
                                        <option value="OH">Ohio</option>
                                        <option value="OK">Oklahoma</option>
                                        <option value="OR">Oregon</option>
                                        <option value="PA">Pennsylvania</option>
                                        <option value="RI">Rhode Island</option>
                                        <option value="SC">South Carolina</option>
                                        <option value="SD">South Dakota</option>
                                        <option value="TN">Tennessee</option>
                                        <option value="TX">Texas</option>
                                        <option value="UT">Utah</option>
                                        <option value="VT">Vermont</option>
                                        <option value="VA">Virginia</option>
                                        <option value="WA">Washington</option>
                                        <option value="WV">West Virginia</option>
                                        <option value="WI">Wisconsin</option>
                                        <option value="WY">Wyoming</option>
                                    </select>
                                    <span class="help-block"><small>Required if you choose United States country</small></span>
                                </div>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-lg-9 col-lg-offset-3">
                                <button type="submit" class="btn btn-primary">Checkout</button>
                            </div>
                        </div>
                    </form>
                </div>
            </section>
            <!-- :form -->
        </div>
    </div>

<script type="text/javascript">
$(document).ready(function() {
    $('#checkoutForm').bootstrapValidator({
        message: 'This value is not valid',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            street: {
                enabled: false,
                validators: {
                    notEmpty: {
                        message: 'The street is required and cannot be empty'
                    }
                }
            },
            city: {
                enabled: false,
                validators: {
                    notEmpty: {
                        message: 'The city is required and cannot be empty'
                    }
                }
            },
            country: {
                enabled: false,
                validators: {
                    notEmpty: {
                        message: 'The country is required and cannot be empty'
                    }
                }
            },
            state: {
                enabled: false,
                validators: {
                    notEmpty: {
                        message: 'The state is required and cannot be empty'
                    }
                }
            }
        }
    });

    // Enable street/city/country validators if user want to ship to other address
    $('input[name="shipping_to"]').on('change', function() {
        var bootstrapValidator = $('#checkoutForm').data('bootstrapValidator'),
            shipNewAddress     = ($(this).val() == 'new');

        shipNewAddress ? $('#newAddress').find('.form-control').removeAttr('disabled')
                       : $('#newAddress').find('.form-control').attr('disabled', 'disabled');

        bootstrapValidator.enableFieldValidators('street', shipNewAddress)
                          .enableFieldValidators('city', shipNewAddress)
                          .enableFieldValidators('country', shipNewAddress)
                          .enableFieldValidators('state', shipNewAddress && $('select[name="country"]').val() == 'US');
    });

    $('select[name="country"]').on('change', function() {
        var bootstrapValidator = $('#checkoutForm').data('bootstrapValidator');
        bootstrapValidator.enableFieldValidators('state', $(this).val() == 'US');
    });
});
</script>
</body>
</html>